#ifndef AI_SERVICE_LOG_H
#define AI_SERVICE_LOG_H

#include <cstdint>
#include "hilog/log.h"

namespace OHOS {
namespace AIS {
namespace {
constexpr uint32_t AIS_LOG_DOMAIN = 0xD002701;
} // namespace
#ifndef AIS_FUNC_FMT
#define AIS_FUNC_FMT "in %{public}s "
#endif

#ifndef AIS_FUNC_INFO
#define AIS_FUNC_INFO __FUNCTION__
#endif

#define AIS_HILOGD(fmt, ...) do { \
    OHOS::HiviewDFX::HiLog::Debug(LABEL, AIS_FUNC_FMT fmt, AIS_FUNC_INFO, ##__VA_ARGS__); \
} while (0)
#define AIS_HILOGI(fmt, ...) do { \
    OHOS::HiviewDFX::HiLog::Info(LABEL, AIS_FUNC_FMT fmt, AIS_FUNC_INFO, ##__VA_ARGS__); \
} while (0)
#define AIS_HILOGW(fmt, ...) do { \
    OHOS::HiviewDFX::HiLog::Warn(LABEL, AIS_FUNC_FMT fmt, AIS_FUNC_INFO, ##__VA_ARGS__); \
} while (0)
#define AIS_HILOGE(fmt, ...) do { \
    OHOS::HiviewDFX::HiLog::Error(LABEL, AIS_FUNC_FMT fmt, AIS_FUNC_INFO, ##__VA_ARGS__); \
} while (0)
#define AIS_LOGF(fmt, ...) do { \
    OHOS::HiviewDFX::HiLog::Fatal(LABEL, AIS_FUNC_FMT fmt, AIS_FUNC_INFO, ##__VA_ARGS__); \
} while (0)
} // namespace AIS
} // namespace OHOS
#endif // AI_SERVICE_LOG_H